import request from '@/utils/authRequest'

export function register(data) {
  return request({
    url: '/authUser/v2/register',
    method: 'post',
    data
  })
}

export function verifyCanRegister(data) {
  return request({
    url: '/authUser/v2/verifyCanRegister',
    method: 'post',
    data
  })
}

export function login(method, data) {
  return request({
    url: `/authUser/v2/login/${method}`,
    method: 'post',
    data
  })
}

export function getInfo(data) {
  return request({
    url: '/authUser/v2/me',
    method: 'post',
    data
  })
}

export function logout() {
  return request({
    url: '/authUser/v2/logout',
    method: 'post'
  })
}

export function updateMeInfo(data) {
  return request({
    url: '/authUser/v2/updateUserInfo',
    method: 'post',
    data
  })
}

/**
 * 验证密码
 * @param data
 * @returns {AxiosPromise}
 */
export function verifyPassword(data) {
  return request({
    url: '/authUser/v2/verifyPassword',
    method: 'post',
    data
  })
}

/**
 * 修改密码
 * @param data
 * @returns {AxiosPromise}
 */
export function updatePassword(data) {
  return request({
    url: '/authUser/v2/updatePassword',
    method: 'post',
    data
  })
}

/**
 * 修改账户
 * @param data
 * @returns {*}
 */
export function updateAccount(data) {
  return request({
    url: '/authUser/v2/updateAccount',
    method: 'post',
    data
  })
}

/**
 * 发送修改邮箱验证码
 * @param data
 * @returns {*}
 */
export function sendEmailUpdateCode(data) {
  return request({
    url: '/authUser/v2/sendEmailUpdateCode',
    method: 'post',
    data
  })
}

/**
 * 修改邮箱
 * @param data
 * @returns {*}
 */
export function updateEmail(data) {
  return request({
    url: '/authUser/v2/updateEmail',
    method: 'post',
    data
  })
}

/**
 * 修改手机号
 * @param data
 * @returns {*}
 */
export function updatePhone(data) {
  return request({
    url: '/authUser/v2/updatePhone',
    method: 'post',
    data: { phone: data }
  })
}

/**
 * 验证邮箱验证码
 * @param data
 * @returns {*}
 */
export function verifyEmailCode(data) {
  return request({
    url: '/common/verifyCode',
    method: 'post',
    data
  })
}

/**
 * 验证手机验证码
 * @param data
 * @returns {AxiosPromise}
 */
export function verifyPhoneCode(data) {
  return request({
    url: '/common/verifyCode',
    method: 'post',
    data
  })
}
